package com.Entity;

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

/**
 * KnowledgeInfo entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "knowledgeInfo", catalog = "smartsofa", uniqueConstraints = @UniqueConstraint(columnNames = "fingerPrint"))
public class KnowledgeInfo implements java.io.Serializable {

	// Fields

	private long infoId;
	private short categoryId;
	private String infoUrl;
	private String infoTitle;
	private String infoAbstarct;
	private String infoImg;
	private Date infoFetchTime;
	private long fingerPrint;
	private String nlpirKeyWords;
	private String contentBody;
	private String infoTime;

	// Constructors

	/** default constructor */
	public KnowledgeInfo() {
	}

	/** full constructor */
	public KnowledgeInfo(short categoryId, String infoUrl, String infoTitle,
			String infoAbstarct, String infoImg, Date infoFetchTime,
			long fingerPrint, String nlpirKeyWords, String contentBody,
			String infoTime) {
		this.categoryId = categoryId;
		this.infoUrl = infoUrl;
		this.infoTitle = infoTitle;
		this.infoAbstarct = infoAbstarct;
		this.infoImg = infoImg;
		this.infoFetchTime = infoFetchTime;
		this.fingerPrint = fingerPrint;
		this.nlpirKeyWords = nlpirKeyWords;
		this.contentBody = contentBody;
		this.infoTime = infoTime;
	}

	// Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "infoId", unique = true, nullable = false)
	public long getInfoId() {
		return this.infoId;
	}

	public void setInfoId(long infoId) {
		this.infoId = infoId;
	}

	@Column(name = "categoryId")
	public short getCategoryId() {
		return this.categoryId;
	}

	public void setCategoryId(short categoryId) {
		this.categoryId = categoryId;
	}

	@Column(name = "infoUrl", length = 200)
	public String getInfoUrl() {
		return this.infoUrl;
	}

	public void setInfoUrl(String infoUrl) {
		this.infoUrl = infoUrl;
	}

	@Column(name = "infoTitle", length = 200)
	public String getInfoTitle() {
		return this.infoTitle;
	}

	public void setInfoTitle(String infoTitle) {
		this.infoTitle = infoTitle;
	}

	@Column(name = "infoAbstarct", length = 4000)
	public String getInfoAbstarct() {
		return this.infoAbstarct;
	}

	public void setInfoAbstarct(String infoAbstarct) {
		this.infoAbstarct = infoAbstarct;
	}

	@Column(name = "infoImg", length = 200)
	public String getInfoImg() {
		return this.infoImg;
	}

	public void setInfoImg(String infoImg) {
		this.infoImg = infoImg;
	}

	@Column(name = "infoFetchTime", length = 19)
	public Date getInfoFetchTime() {
		return this.infoFetchTime;
	}

	public void setInfoFetchTime(Date infoFetchTime) {
		this.infoFetchTime = infoFetchTime;
	}

	@Column(name = "fingerPrint", unique = true)
	public long getFingerPrint() {
		return this.fingerPrint;
	}

	public void setFingerPrint(long fingerPrint) {
		this.fingerPrint = fingerPrint;
	}

	@Column(name = "nlpirKeyWords", length = 200)
	public String getNlpirKeyWords() {
		return this.nlpirKeyWords;
	}

	public void setNlpirKeyWords(String nlpirKeyWords) {
		this.nlpirKeyWords = nlpirKeyWords;
	}

	@Column(name = "contentBody", length = 65535)
	public String getContentBody() {
		return this.contentBody;
	}

	public void setContentBody(String contentBody) {
		this.contentBody = contentBody;
	}

	@Column(name = "infoTime", length = 20)
	public String getInfoTime() {
		return this.infoTime;
	}

	public void setInfoTime(String infoTime) {
		this.infoTime = infoTime;
	}

}